
#pragma once


#include <iostream>
#include "EstadoAIPerseguir.h"
#include "ObjectsManager.h"


EstadoAIPerseguir::EstadoAIPerseguir( StateMachine * state_machine, unsigned long actor_id, unsigned long actor_id_perseguido )
: EstadoAI(state_machine, actor_id), mActorPerseguido(actor_id_perseguido)
{
	
}

void EstadoAIPerseguir::OnUpdate( int delta )
{
	ObjectsManager * mngr = ObjectsManager::Get();
	Tangible * perseguidor = dynamic_cast<Tangible*>(mngr->GetObject(mIDActor));
	Tangible * perseguido = dynamic_cast<Tangible*>(mngr->GetObject(mActorPerseguido));
	if(!perseguidor || !perseguido)
	{
		std::cout << "ERROR: PUNTERO NULO EN ESTADOAIPERSEGUIR" << std::endl;
		return;
	}

	RotarYMover(delta, perseguidor, perseguido->GetPosition());
}